

/**
 * 判断是否为移动设备
 * @returns {boolean} 是否为移动设备
 */
function isMobile() {
    /**
     * 检查用户代理头部信息是否包含移动设备
     * @param {string} agent - 用户代理头部信息
     * @returns {boolean} 是否包含移动设备
     */
    const checkUserAgent = function (agent) {
        /**
         * 移动设备列表
         * @type {Array} 
         */
        const mobileAgent = [
            "Android",
            "iPhone",
            "SymbianOS",
            "Windows Phone",
            "iPad",
            "iPod"
        ];
        /**
         * 判断移动设备是否包含在用户代理头部信息中
         * @type {boolean}
         */
        return mobileAgent.some(function (item) {
            return agent.indexOf(item) > -1;
        });
    };
    /**
     * 用户代理头部信息
     * @type {string}
     */
    const agent = navigator.userAgent;
    /**
     * 判断是否为移动设备
     * @type {boolean}
     */
    return checkUserAgent(agent);
}

export default isMobile;